package com.atguigu.gmall.list.client;

import com.atguigu.gmall.common.result.Result;
import com.atguigu.gmall.list.client.impl.ListDegradeFeignClient;
import com.atguigu.gmall.model.list.SearchParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

/**
 * @author Fxz
 * @version 1.0
 * @date 2022-02-12 19:53
 */
@FeignClient(value = "service-list", fallback = ListDegradeFeignClient.class)
public interface ListFeignClient {

	/**
	 * 更新商品热度
	 */
	@GetMapping("/api/list/inner/incrHotScore/{skuId}")
	public Result incrHotScore(@PathVariable Long skuId);

	/**
	 * 商品上架
	 */
	@GetMapping("/api/list/inner/upperGoods/{skuId}")
	public Result upperGoods(@PathVariable Long skuId);

	/**
	 * 商品下架
	 */
	@GetMapping("/api/list/inner/lowerGoods/{skuId}")
	public Result lowerGoods(@PathVariable Long skuId);

	/**
	 * 检索商品
	 */
	@PostMapping("/api/list")
	public Result list(@RequestBody SearchParam searchParam);

}
